package business

import (
	"fmt"
	"time"
)

// 将 CstZone 定义在这里，它现在属于 global 包
var CstZone *time.Location

// 这个 init 函数会在 global 包第一次被导入时自动执行
func init() {
	var err error
	
	// 尝试加载Asia/Shanghai时区
	CstZone, err = time.LoadLocation("Asia/Shanghai")
	if err != nil {
		fmt.Printf("⚠️ 无法加载Asia/Shanghai时区: %v\n", err)
		fmt.Println("🔄 尝试使用备用时区方案...")
		
		// 备用方案1: 尝试加载其他中国时区标识
		alternativeZones := []string{
			"Asia/Chongqing",
			"Asia/Harbin", 
			"Asia/Kashgar",
			"Asia/Urumqi",
			"PRC",
		}
		
		for _, zone := range alternativeZones {
			CstZone, err = time.LoadLocation(zone)
			if err == nil {
				fmt.Printf("✅ 成功使用备用时区: %s\n", zone)
				return
			}
		}
		
		// 备用方案2: 使用固定偏移时区 UTC+8
		fmt.Println("🔧 使用固定偏移时区 UTC+8")
		CstZone = time.FixedZone("CST", 8*3600) // UTC+8
		fmt.Println("✅ 时区初始化完成")
		return
	}
	
	fmt.Println("✅ 成功加载Asia/Shanghai时区")
}